﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Engine.Serialization;

namespace Engine.Rule
{
    public class RuleSystem : IXMLSerializable
    {
        private List<AbilityType> abilityTypes;
        public List<AbilityType> AbilityTypes
        {
            get { return abilityTypes; }
            set { abilityTypes = value; }
        }

        private List<StatType> statTypes;
        public List<StatType> StatTypes
        {
            get { return statTypes; }
            set { statTypes = value; }
        }

        private List<SkillType> skillTypes;
        public List<SkillType> SkillTypes
        {
            get { return skillTypes; }
            set { skillTypes = value; }
        }

        private List<TraitType> traitTypes;
        public List<TraitType> TraitTypes
        {
            get { return traitTypes; }
            set { traitTypes = value; }
        }

        private List<Trait> traits;
        public List<Trait> Traits
        {
            get { return traits; }
            set { traits = value; }
        }

        private List<CareerType> careerTypes;
        public List<CareerType> CareerTypes
        {
            get { return careerTypes; }
            set { careerTypes = value; }
        }

        public RuleSystem()
        {
            AbilityTypes = new List<AbilityType>();
            StatTypes = new List<StatType>();
            SkillTypes = new List<SkillType>();
            TraitTypes = new List<TraitType>();
            Traits = new List<Trait>();
            CareerTypes = new List<CareerType>();
        }

        #region IXMLSerializable Members

        public string GetTypeName()
        {
            return "RuleSystem";
        }

        #endregion
    }
}
